home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2000 September / september_2000.iso / intercd / root / ^Linux / WindowMaker / acinclude.m4 < prev    next >
Encoding:
M4 Source File  |  2000-01-14  |  7.0 KB  |  261 lines

  1. #!/bin/sh
  2.  
  3. dnl
  4. dnl WM_CHECK_LIB(NAME, FUNCTION, EXTRALIBS)
  5. dnl
  6. AC_DEFUN(WM_CHECK_LIB,
  7. [
  8. LDFLAGS_old="$LDFLAGS"
  9. LDFLAGS="$LDFLAGS $lib_search_path"
  10. AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
  11. LDFLAGS="$LDFLAGS_old"
  12. ])
  13.  
  14.  
  15. dnl
  16. dnl WM_CHECK_HEADER(NAME)
  17. dnl
  18. AC_DEFUN(WM_CHECK_HEADER,
  19. [
  20. CPPFLAGS_old="$CPPFLAGS"
  21. CPPFLAGS="$CPPFLAGS $inc_search_path"
  22. AC_CHECK_HEADER([$1])
  23. CPPFLAGS="$CPPFLAGS_old"
  24. ])
  25.  
  26.  
  27. dnl
  28. dnl WM_CHECK_PROPLIST_VERSION(MIN_VERSION, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]])
  29. dnl
  30. AC_DEFUN(WM_CHECK_PROPLIST_VERSION,
  31. [
  32. CPPFLAGS_old="$CPPFLAGS"
  33. CPPFLAGS="$CPPFLAGS $inc_search_path"
  34. lPL_major_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
  35. lPL_minor_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
  36. lPL_micro_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
  37. AC_MSG_CHECKING([whether libPropList is newer than $1])
  38. AC_CACHE_VAL(ac_cv_lib_proplist_version_ok,
  39. [AC_TRY_LINK(
  40. [/* Test version of libPropList we have */
  41. #include <proplist.h>
  42.  
  43. #if !defined(PROPLIST_VERSION) || PROPLIST_VERSION < $lPL_major_version*10000 + $lPL_minor_version*100 + $lPL_micro_version
  44. #error libPropList on this system is too old. Consider upgrading to at least $1
  45. #endif
  46. ], [], 
  47. eval "ac_cv_lib_proplist_version_ok=yes", 
  48. eval "ac_cv_lib_proplist_version_ok=no")])
  49. if eval "test \"`echo '$ac_cv_lib_proplist_version_ok'`\" = yes"; then
  50.   AC_MSG_RESULT(yes)
  51.   ifelse([$2], , :, [$2])
  52. else
  53.   AC_MSG_RESULT(no)
  54. ifelse([$3], , , [$3
  55. ])dnl
  56. fi
  57. CPPFLAGS="$CPPFLAGS_old"
  58. ])
  59.  
  60.  
  61. dnl
  62. dnl WM_CHECK_REDCRAP_BUGS(prefix,bindir,libdir)
  63. dnl
  64. AC_DEFUN(WM_CHECK_REDCRAP_BUGS,
  65. [
  66. AC_MSG_CHECKING(for RedHat system)
  67. wm_check_flag='no :)'
  68. rh_is_redhat=no
  69. if test -f /etc/redhat-release; then
  70.     wm_check_flag=yes
  71.     rh_is_redhat=yes
  72. fi
  73. AC_MSG_RESULT($wm_check_flag)
  74.  
  75. mins_found=no
  76. bugs_found=no
  77. if test "$wm_check_flag" = yes; then
  78. echo
  79. AC_MSG_WARN([Red Hat system; checking for Red-Hat-specific bugs.])
  80. echo
  81. #
  82. # Check old wmaker from RedHat
  83. #
  84. if test "[$1]" != "/usr/X11R6" -a "$prefix" != "/usr/X11"; then
  85. AC_MSG_CHECKING(for multiple installed wmaker versions)
  86. if test -f /usr/X11R6/bin/wmaker; then
  87. AC_MSG_RESULT(uh oh)
  88. mins_found=yes
  89. rh_old_wmaker=yes
  90. else 
  91. rh_old_wmaker=no
  92. AC_MSG_RESULT(no apparent problems)
  93. fi
  94. fi
  95. #
  96. # Check for infamous en_RN bug 
  97. # Wont work because autoconf will change LANG in the beginning of the
  98. # script.
  99.  
  100. #
  101. #AC_MSG_CHECKING(for silly en_RN joke that only causes headaches)
  102. #echo $LANG
  103. #if test "x$LANG" = xen_RN; then
  104. #AC_MSG_RESULT(uh oh)
  105. #AC_MSG_WARN([the LANG environment variable is set to the en_RN 
  106. #locale. Please unset it or you will have mysterious problems when 
  107. #using various software packages.])
  108. #bugs_found=yes
  109. #else
  110. #AC_MSG_RESULT(no problem)
  111. #fi
  112. #
  113. # If binary installation path is /usr/local/bin, check if it's in PATH
  114. #
  115. if test "[$2]" = "/usr/local/bin"; then
  116. AC_MSG_CHECKING(if /usr/local/bin is in the search PATH)
  117. wm_check_flag=no
  118. rh_missing_usr_local_bin=yes
  119. old_IFS="$IFS"
  120. IFS=":"
  121. for i in $PATH; do 
  122.     if test "x$i" = "x/usr/local/bin"; then
  123.         wm_check_flag=yes
  124.         rh_missing_usr_local_bin=no
  125.         break;
  126.     fi
  127. done
  128. IFS="$old_IFS"
  129. if test "$wm_check_flag" = no; then
  130. AC_MSG_RESULT(uh oh)
  131. bugs_found=yes
  132. else
  133. AC_MSG_RESULT(no problem)
  134. fi
  135. fi
  136. #
  137. # If library installation path is /usr/local/lib, 
  138. # check if it's in /etc/ld.so.conf
  139. #
  140. if test "[$3]" = "/usr/local/lib"; then
  141. wm_check_flag=yes
  142. rh_missing_usr_local_lib=no
  143. AC_MSG_CHECKING(if /usr/local/lib is in /etc/ld.so.conf)
  144. test -z "`grep /usr/local/lib /etc/ld.so.conf`"
  145. test "$?" -eq 0 && wm_check_flag=no
  146. if test "$wm_check_flag" = no; then
  147. AC_MSG_RESULT(uh oh)
  148. rh_missing_usr_local_lib=yes
  149. bugs_found=yes
  150. else
  151. AC_MSG_RESULT(no problem)
  152. fi
  153. fi
  154. #
  155. # Check for symbolic links
  156. #
  157. AC_MSG_CHECKING(for /usr/include/X11 symbolic link)
  158. rh_missing_usr_include_x11=no
  159. if test -d "/usr/include/X11"; then
  160. AC_MSG_RESULT(found)
  161. else
  162. AC_MSG_RESULT(uh oh)
  163. rh_missing_usr_include_x11=yes
  164. mins_found=yes
  165. fi
  166.  
  167. #
  168. # Check for /lib/cpp
  169. #
  170. AC_MSG_CHECKING(for /lib/cpp)
  171. rh_missing_lib_cpp=no
  172. if test -f "/lib/cpp"; then
  173. AC_MSG_RESULT(found)
  174. else
  175. AC_MSG_RESULT(uh oh)
  176. rh_missing_lib_cpp=yes
  177. bugs_found=yes
  178. fi
  179.  
  180. echo
  181. fi
  182. ])
  183.  
  184.  
  185. dnl
  186. dnl WM_PRINT_REDCRAP_BUG_STATUS()
  187. dnl
  188. AC_DEFUN(WM_PRINT_REDCRAP_BUG_STATUS,
  189. [
  190. if test "$rh_is_redhat" = yes; then
  191. if test "$mins_found" = yes -o "$bugs_found" = yes; then
  192. echo
  193. AC_MSG_WARN([It seems you are using a system packaged by Red Hat.
  194. I have done some checks for Red-Hat-specific bugs, and I found some
  195. problems.  Please read the INSTALL file regarding Red Hat, resolve
  196. the problems, and try to run configure again.
  197.  
  198. Here are the problems I found:
  199. ])
  200. if test "x$rh_old_wmaker" = xyes; then
  201. echo "Problem:     Old version of Window Maker in /usr/X11R6/bin."
  202. echo "Description: You seem to have an old version of Window Maker"
  203. echo "             installed in /usr/X11R6/bin. It is recommended"
  204. echo "             that you uninstall any previously installed"
  205. echo "             packages of WindowMaker before installing a new one."
  206. echo
  207. fi
  208. if test "x$rh_missing_usr_local_bin" = xyes; then
  209. echo "Problem:     PATH is missing /usr/local/bin."
  210. echo "Description: Your PATH environment variable does not appear to"
  211. echo "             contain the directory /usr/local/bin.  Please add it."
  212. echo
  213. fi
  214. if test "x$rh_missing_usr_local_lib" = xyes; then
  215. echo "Problem:     /etc/ld.so.conf missing /usr/local/lib"
  216. echo "Description: Your /etc/ld.so.conf file does not appear to contain"
  217. echo "             the directory /usr/local/lib.  Please add it."
  218. echo
  219. fi
  220. if test "x$rh_missing_usr_x11" = xyes; then
  221. echo "Problem:     Missing /usr/X11 symbolic link."
  222. echo "Description: Your system is missing a symbolic link from"
  223. echo "             /usr/X11R6 to /usr/X11.  Please create one."
  224. echo
  225. fi
  226. if test "x$rh_missing_usr_include_x11" = xyes; then
  227. echo "Problem:     Missing /usr/include/X11 symbolic link."
  228. echo "Description: Your system is missing a symbolic link from"
  229. echo "             /usr/X11R6/include/X11 to /usr/include/X11."
  230. echo "             Please create one."
  231. echo
  232. fi
  233. if test "x$rh_missing_lib_cpp" = xyes; then
  234. echo "Problem:     Missing /lib/cpp symbolic link."
  235. echo "Description: Your system is missing a symbolic link from the"
  236. echo "             cpp (C preprocessor) program to /lib/cpp."
  237. echo "             Please create one."
  238. echo
  239. fi
  240. if test "x$bugs_found" = xyes; then
  241. AC_MSG_ERROR([One or more of the problems above can potentially
  242. cause Window Maker not to install or run properly.  Please resolve
  243. the problems and try to run configure again.])
  244. exit 1
  245. elif test "x$mins_found" = xyes; then
  246. AC_MSG_WARN([The problems above may or may not cause Window Maker
  247. not to install or run properly.  If you have any problems during 
  248. installation or execution, please resolve the problems and try to
  249. install Window Maker again.])
  250. echo
  251. fi
  252. else
  253. echo
  254. echo "You appear to have a system packaged by Red Hat, but I could"
  255. echo "not find any Red-Hat-specific problems that I know about."
  256. echo
  257. fi
  258. fi
  259. ])
  260.  
  261.